import type { App } from 'vue';
import ZwUnityKitSelectItemsInstall, { ZwUnityKitSelectItems } from './ZwUnityKitSelectItems/index';
import ZwUnityKitSelectCustTagsInstall, { ZwUnityKitSelectCustTags } from './ZwUnityKitSelectCustTags/index';
import ZwUnityKitSelectDepartInstall, { ZwUnityKitSelectDepart } from './ZwUnityKitSelectDepart/index';
import ZwUnityMaterialContentInstall, { ZwUnityMaterialContent } from './ZwUnityKitMaterialContent/index';
import ZwUnityMaterialLibInstall, { ZwUnityMaterialLib } from './ZwUnityKitMaterialLib/index';
import ZwUnityKitTreeTableSelectInstall, {
    ZwUnityKitTreeTableSelect
} from './components/ZwUnityKitTreeTableSelect/index';
import ZwUnityKitSelectFriendMaterialInstall, {
    ZwUnityKitSelectFriendMaterial
} from './ZwUnityKitSelectFriendMaterial/index';

const components = [
    ZwUnityKitSelectItemsInstall,
    ZwUnityKitSelectCustTagsInstall,
    ZwUnityKitSelectDepartInstall,
    ZwUnityMaterialContentInstall,
    ZwUnityMaterialLibInstall,
    ZwUnityKitTreeTableSelectInstall,
    ZwUnityKitSelectFriendMaterialInstall
];

const install = (app: App, options: any) => {
    app.config.globalProperties.$domainApi = options.domainApi || '//api-dev.scrm.keyid.cn';
    components.forEach((component: any) => app.use(component, options));
};

export {
    ZwUnityKitSelectItems,
    ZwUnityKitSelectCustTags,
    ZwUnityKitSelectDepart,
    ZwUnityMaterialContent,
    ZwUnityMaterialLib,
    ZwUnityKitTreeTableSelect,
    ZwUnityKitSelectFriendMaterial
};
export default { install };
